package com.atguigu.gmall.web.all.controller;


import com.atguigu.gmall.common.util.AuthContextHolder;
import com.atguigu.gmall.model.order.OrderDetail;
import com.atguigu.gmall.web.all.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 订单页面跳转控制器
 */
@Controller
public class OrderController {


    @Autowired
    OrderService orderService;

    /**
     * 跳转到订单列表页
     * @return
     */
    @GetMapping("/myOrder.html")
    public String orderListPage(){

        return "order/myOrder";
    }

    /**
     * 订单确认页
     */
    @GetMapping("/trade.html")
    public String tradeHtml(Model model, HttpServletRequest request){
        /**
         * detailArrayList: 商品清单（拿到购物车中已经选中的这些商品） 【给service-cart\给service-product】
         *          每个商品：imgUrl、skuName、OrderPrice、skuNum
         * totalNum: 商品数量: 自己计算
         * totalAmount： 商品金额：自己计算
         * userAddressList： 用户收获地址列表  给【service-user】
         * tradeNo 交易号【防止重复提交的】 给【service-order】发请求
         */
        String userId = AuthContextHolder.getUserId(request);

        //除了准备订单确认页需要的数据外，每次请求都会生成防重令牌
        Map<String, Object> map = orderService.getOrderConfirmInfo(userId);



        /*model.addAttribute("detailArrayList",null);
        model.addAttribute("totalNum",null);
        model.addAttribute("totalAmount",null);
        model.addAttribute("userAddressList",null);
        model.addAttribute("tradeNo","dengqingbiao123456");*/

        model.addAllAttributes(map);

        return "order/trade";
    }


}
